Перейти к основному содержимому

2.09. Интеграционная авторизация

Всем

Что такое интеграционная авторизация?

Интеграционная авторизация — это механизм, посредством которого одна система получает право выполнять определённые действия в другой системе в рамках интеграционного взаимодействия.

В отличие от пользовательской авторизации, где субъект — человек с ролью или правами, в интеграционном контексте субъектом выступает система (или её компонент: микросервис, функция, шлюз). Поэтому применяются специфические модели доверия.

Наиболее распространённые подходы:

  1. API-ключи — простой, но ограниченный метод. Ключ передаётся в заголовке запроса и идентифицирует вызывающую систему. Однако ключ не обеспечивает аутентификацию личности (только идентификацию источника) и уязвим при утечке.

  1. OAuth 2.0 Client Credentials Flow — стандартный способ авторизации машина-машина (M2M). Система (клиент) аутентифицируется в авторизационном сервере с помощью client_id и client_secret, получает JWT-токен и использует его для доступа к API. Токен может содержать права (scopes), ограничивающие доступ.

  1. mTLS (mutual TLS) — двусторонняя аутентификация на уровне транспорта. Каждая сторона предоставляет сертификат, подтверждающий её подлинность. Применяется в высокозащищённых средах (финансы, государственные системы).

  1. Service Accounts — в облачных платформах (Google Cloud, AWS IAM Roles) компоненты могут получать временные учётные данные с точно определёнными привилегиями. Это соответствует принципу наименьших привилегий и автоматическому ротированию ключей.

Интеграционная авторизация должна быть строго привязана к контексту: какая система, зачем, какие действия, на какие ресурсы. Отсутствие такой привязки приводит к избыточным правам и росту поверхности атаки.